
#include "tetrahedron.h"

using namespace espreso;

bool Tetrahedron::gpw(int order, std::vector<double> &r, std::vector<double> &s, std::vector<double> &t, std::vector<double> &w)
{
	switch (order) {
	case 0:
	case 1:
		r.resize(1); s.resize(1); t.resize(1); w.resize(1);
		r[ 0] =  0.25                                ;   s[ 0] =  0.25                                ;   t[ 0] =  0.25                                ;   w[ 0] =  0.16666666666666666666666666666667  ;
		break;

	case 2:
		r.resize(4); s.resize(4); t.resize(4); w.resize(4);
		r[ 0] =  0.13819660112501051517954131656344  ;   s[ 0] =  0.13819660112501051517954131656344  ;   t[ 0] =  0.13819660112501051517954131656344  ;   w[ 0] =  0.041666666666666666666666666666667 ;
		r[ 1] =  0.58541019662496845446137605030969  ;   s[ 1] =  0.13819660112501051517954131656344  ;   t[ 1] =  0.13819660112501051517954131656344  ;   w[ 1] =  0.041666666666666666666666666666667 ;
		r[ 2] =  0.13819660112501051517954131656344  ;   s[ 2] =  0.58541019662496845446137605030969  ;   t[ 2] =  0.13819660112501051517954131656344  ;   w[ 2] =  0.041666666666666666666666666666667 ;
		r[ 3] =  0.13819660112501051517954131656344  ;   s[ 3] =  0.13819660112501051517954131656344  ;   t[ 3] =  0.58541019662496845446137605030969  ;   w[ 3] =  0.041666666666666666666666666666667 ;
		break;

//	case 3:
//		r.resize(5); s.resize(5); t.resize(5); w.resize(5);
//		r[ 0] =  0.25                                ;   s[ 0] =  0.25                                ;   t[ 0] =  0.25                                ;   w[ 0] = -0.13333333333333333333333333333333  ;
//		r[ 1] =  0.16666666666666666666666666666667  ;   s[ 1] =  0.16666666666666666666666666666667  ;   t[ 1] =  0.16666666666666666666666666666667  ;   w[ 1] =  0.075                               ;
//		r[ 2] =  0.5                                 ;   s[ 2] =  0.16666666666666666666666666666667  ;   t[ 2] =  0.16666666666666666666666666666667  ;   w[ 2] =  0.075                               ;
//		r[ 3] =  0.16666666666666666666666666666667  ;   s[ 3] =  0.5                                 ;   t[ 3] =  0.16666666666666666666666666666667  ;   w[ 3] =  0.075                               ;
//		r[ 4] =  0.16666666666666666666666666666667  ;   s[ 4] =  0.16666666666666666666666666666667  ;   t[ 4] =  0.5                                 ;   w[ 4] =  0.075                               ;
//		break;

	case 3:
		r.resize(8); s.resize(8); t.resize(8); w.resize(8);
		r[ 0] =  0.0                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  0.0                                 ;
		r[ 1] =  1.0                                 ;   s[ 1] =  1.0                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.0                                 ;
		r[ 2] =  0.0                                 ;   s[ 2] =  0.0                                 ;   t[ 2] =  1.0                                 ;   w[ 2] =  1.0                                 ;
		r[ 3] =  0.0                                 ;   s[ 3] =  0.0                                 ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.0                                 ;
		r[ 4] =  0.33333333333333333333333333333333  ;   s[ 4] =  0.125                               ;   t[ 4] =  0.33333333333333333333333333333333  ;   w[ 4] =  0.125                               ;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.625                               ;   t[ 5] =  0.33333333333333333333333333333333  ;   w[ 5] =  0.125                               ;
		r[ 6] =  0.33333333333333333333333333333333  ;   s[ 6] =  0.125                               ;   t[ 6] =  0.0                                 ;   w[ 6] =  0.625                               ;
		r[ 7] =  0.33333333333333333333333333333333  ;   s[ 7] =  0.125                               ;   t[ 7] =  0.33333333333333333333333333333333  ;   w[ 7] =  0.125                               ;
		break;

//	case 4:
//		r.resize(11); s.resize(11); t.resize(11); w.resize(11);
//		r[ 0] =  0.25                                ;   s[ 0] =  0.25                                ;   t[ 0] =  0.25                                ;   w[ 0] = -0.013155555555555555555555555555556 ;
//		r[ 1] =  0.071428571428571428571428571428571 ;   s[ 1] =  0.071428571428571428571428571428571 ;   t[ 1] =  0.071428571428571428571428571428571 ;   w[ 1] =  0.0076222222222222222222222222222222;
//		r[ 2] =  0.78571428571428571428571428571429  ;   s[ 2] =  0.071428571428571428571428571428571 ;   t[ 2] =  0.071428571428571428571428571428571 ;   w[ 2] =  0.0076222222222222222222222222222222;
//		r[ 3] =  0.071428571428571428571428571428571 ;   s[ 3] =  0.78571428571428571428571428571429  ;   t[ 3] =  0.071428571428571428571428571428571 ;   w[ 3] =  0.0076222222222222222222222222222222;
//		r[ 4] =  0.071428571428571428571428571428571 ;   s[ 4] =  0.071428571428571428571428571428571 ;   t[ 4] =  0.78571428571428571428571428571429  ;   w[ 4] =  0.0076222222222222222222222222222222;
//		r[ 5] =  0.39940357616679920499610214746164  ;   s[ 5] =  0.39940357616679920499610214746164  ;   t[ 5] =  0.10059642383320079500389785253836  ;   w[ 5] =  0.024888888888888888888888888888889 ;
//		r[ 6] =  0.39940357616679920499610214746164  ;   s[ 6] =  0.10059642383320079500389785253836  ;   t[ 6] =  0.10059642383320079500389785253836  ;   w[ 6] =  0.024888888888888888888888888888889 ;
//		r[ 7] =  0.10059642383320079500389785253836  ;   s[ 7] =  0.10059642383320079500389785253836  ;   t[ 7] =  0.39940357616679920499610214746164  ;   w[ 7] =  0.024888888888888888888888888888889 ;
//		r[ 8] =  0.10059642383320079500389785253836  ;   s[ 8] =  0.39940357616679920499610214746164  ;   t[ 8] =  0.10059642383320079500389785253836  ;   w[ 8] =  0.024888888888888888888888888888889 ;
//		r[ 9] =  0.10059642383320079500389785253836  ;   s[ 9] =  0.39940357616679920499610214746164  ;   t[ 9] =  0.39940357616679920499610214746164  ;   w[ 9] =  0.024888888888888888888888888888889 ;
//		r[10] =  0.39940357616679920499610214746164  ;   s[10] =  0.10059642383320079500389785253836  ;   t[10] =  0.39940357616679920499610214746164  ;   w[10] =  0.024888888888888888888888888888889 ;
//		break;

	case 4:
		r.resize(14); s.resize(14); t.resize(14); w.resize(14);
		r[ 0] =  0.5                                 ;   s[ 0] =  0.0                                 ;   t[ 0] =  0.0                                 ;   w[ 0] =  0.0031746031746031746031746031746032;
		r[ 1] =  0.0                                 ;   s[ 1] =  0.5                                 ;   t[ 1] =  0.0                                 ;   w[ 1] =  0.0031746031746031746031746031746032;
		r[ 2] =  0.0                                 ;   s[ 2] =  0.0                                 ;   t[ 2] =  0.5                                 ;   w[ 2] =  0.0031746031746031746031746031746032;
		r[ 3] =  0.5                                 ;   s[ 3] =  0.5                                 ;   t[ 3] =  0.0                                 ;   w[ 3] =  0.0031746031746031746031746031746032;
		r[ 4] =  0.5                                 ;   s[ 4] =  0.0                                 ;   t[ 4] =  0.5                                 ;   w[ 4] =  0.0031746031746031746031746031746032;
		r[ 5] =  0.0                                 ;   s[ 5] =  0.5                                 ;   t[ 5] =  0.5                                 ;   w[ 5] =  0.0031746031746031746031746031746032;
		r[ 6] =  0.10052676522520447969384079439543  ;   s[ 6] =  0.10052676522520447969384079439543  ;   t[ 6] =  0.10052676522520447969384079439543  ;   w[ 6] =  0.014764970790496785072272027077345 ;
		r[ 7] =  0.69841970432438656091847761681371  ;   s[ 7] =  0.10052676522520447969384079439543  ;   t[ 7] =  0.10052676522520447969384079439543  ;   w[ 7] =  0.014764970790496785072272027077345 ;
		r[ 8] =  0.10052676522520447969384079439543  ;   s[ 8] =  0.69841970432438656091847761681371  ;   t[ 8] =  0.10052676522520447969384079439543  ;   w[ 8] =  0.014764970790496785072272027077345 ;
		r[ 9] =  0.10052676522520447969384079439543  ;   s[ 9] =  0.10052676522520447969384079439543  ;   t[ 9] =  0.69841970432438656091847761681371  ;   w[ 9] =  0.014764970790496785072272027077345 ;
		r[10] =  0.31437287349319219275075712936746  ;   s[10] =  0.31437287349319219275075712936746  ;   t[10] =  0.31437287349319219275075712936746  ;   w[10] =  0.022139791114265119689632734827417 ;
		r[11] =  0.056881379520423421747728611897617 ;   s[11] =  0.31437287349319219275075712936746  ;   t[11] =  0.31437287349319219275075712936746  ;   w[11] =  0.022139791114265119689632734827417 ;
		r[12] =  0.31437287349319219275075712936746  ;   s[12] =  0.056881379520423421747728611897617 ;   t[12] =  0.31437287349319219275075712936746  ;   w[12] =  0.022139791114265119689632734827417 ;
		r[13] =  0.31437287349319219275075712936746  ;   s[13] =  0.31437287349319219275075712936746  ;   t[13] =  0.056881379520423421747728611897617 ;   w[13] =  0.022139791114265119689632734827417 ;
		break;

	case 5:
		r.resize(15); s.resize(15); t.resize(15); w.resize(15);
		r[ 0] =  0.092735250310891226402323913737031 ;   s[ 0] =  0.092735250310891226402323913737031 ;   t[ 0] =  0.092735250310891226402323913737031 ;   w[ 0] =  0.012248840519393658257285034247721 ;
		r[ 1] =  0.72179424906732632079302825878891  ;   s[ 1] =  0.092735250310891226402323913737031 ;   t[ 1] =  0.092735250310891226402323913737031 ;   w[ 1] =  0.012248840519393658257285034247721 ;
		r[ 2] =  0.092735250310891226402323913737031 ;   s[ 2] =  0.72179424906732632079302825878891  ;   t[ 2] =  0.092735250310891226402323913737031 ;   w[ 2] =  0.012248840519393658257285034247721 ;
		r[ 3] =  0.092735250310891226402323913737031 ;   s[ 3] =  0.092735250310891226402323913737031 ;   t[ 3] =  0.72179424906732632079302825878891  ;   w[ 3] =  0.012248840519393658257285034247721 ;
		r[ 4] =  0.31088591926330060979734573376346  ;   s[ 4] =  0.31088591926330060979734573376346  ;   t[ 4] =  0.31088591926330060979734573376346  ;   w[ 4] =  0.018781320953002641799864275388881 ;
		r[ 5] =  0.067342242210098170607962798709629 ;   s[ 5] =  0.31088591926330060979734573376346  ;   t[ 5] =  0.31088591926330060979734573376346  ;   w[ 5] =  0.018781320953002641799864275388881 ;
		r[ 6] =  0.31088591926330060979734573376346  ;   s[ 6] =  0.067342242210098170607962798709629 ;   t[ 6] =  0.31088591926330060979734573376346  ;   w[ 6] =  0.018781320953002641799864275388881 ;
		r[ 7] =  0.31088591926330060979734573376346  ;   s[ 7] =  0.31088591926330060979734573376346  ;   t[ 7] =  0.067342242210098170607962798709629 ;   w[ 7] =  0.018781320953002641799864275388881 ;
		r[ 8] =  0.45449629587435035050811947372066  ;   s[ 8] =  0.45449629587435035050811947372066  ;   t[ 8] =  0.045503704125649649491880526279339 ;   w[ 8] =  0.0070910034628469110730115713533762;
		r[ 9] =  0.45449629587435035050811947372066  ;   s[ 9] =  0.045503704125649649491880526279339 ;   t[ 9] =  0.045503704125649649491880526279339 ;   w[ 9] =  0.0070910034628469110730115713533762;
		r[10] =  0.045503704125649649491880526279339 ;   s[10] =  0.045503704125649649491880526279339 ;   t[10] =  0.45449629587435035050811947372066  ;   w[10] =  0.0070910034628469110730115713533762;
		r[11] =  0.045503704125649649491880526279339 ;   s[11] =  0.45449629587435035050811947372066  ;   t[11] =  0.045503704125649649491880526279339 ;   w[11] =  0.0070910034628469110730115713533762;
		r[12] =  0.045503704125649649491880526279339 ;   s[12] =  0.45449629587435035050811947372066  ;   t[12] =  0.45449629587435035050811947372066  ;   w[12] =  0.0070910034628469110730115713533762;
		r[13] =  0.45449629587435035050811947372066  ;   s[13] =  0.045503704125649649491880526279339 ;   t[13] =  0.45449629587435035050811947372066  ;   w[13] =  0.0070910034628469110730115713533762;
		break;

	case 6:
		r.resize(24); s.resize(24); t.resize(24); w.resize(24);
		r[ 0] =  0.21460287125915202928883921938628  ;   s[ 0] =  0.21460287125915202928883921938628  ;   t[ 0] =  0.21460287125915202928883921938628  ;   w[ 0] =  0.0066537917096945820166151045929133;
		r[ 1] =  0.35619138622254391213348234184115  ;   s[ 1] =  0.21460287125915202928883921938628  ;   t[ 1] =  0.21460287125915202928883921938628  ;   w[ 1] =  0.0066537917096945820166151045929133;
		r[ 2] =  0.21460287125915202928883921938628  ;   s[ 2] =  0.35619138622254391213348234184115  ;   t[ 2] =  0.21460287125915202928883921938628  ;   w[ 2] =  0.0066537917096945820166151045929133;
		r[ 3] =  0.21460287125915202928883921938628  ;   s[ 3] =  0.21460287125915202928883921938628  ;   t[ 3] =  0.35619138622254391213348234184115  ;   w[ 3] =  0.0066537917096945820166151045929133;
		r[ 4] =  0.04067395853461135311557944895641  ;   s[ 4] =  0.04067395853461135311557944895641  ;   t[ 4] =  0.04067395853461135311557944895641  ;   w[ 4] =  0.0016795351758867738246688729076561;
		r[ 5] =  0.87797812439616594065326165313077  ;   s[ 5] =  0.04067395853461135311557944895641  ;   t[ 5] =  0.04067395853461135311557944895641  ;   w[ 5] =  0.0016795351758867738246688729076561;
		r[ 6] =  0.04067395853461135311557944895641  ;   s[ 6] =  0.87797812439616594065326165313077  ;   t[ 6] =  0.04067395853461135311557944895641  ;   w[ 6] =  0.0016795351758867738246688729076561;
		r[ 7] =  0.04067395853461135311557944895641  ;   s[ 7] =  0.04067395853461135311557944895641  ;   t[ 7] =  0.87797812439616594065326165313077  ;   w[ 7] =  0.0016795351758867738246688729076561;
		r[ 8] =  0.32233789014227551034399447076249  ;   s[ 8] =  0.32233789014227551034399447076249  ;   t[ 8] =  0.32233789014227551034399447076249  ;   w[ 8] =  0.0092261969239424536825255463089543;
		r[ 9] =  0.032986329573173468968016587712524 ;   s[ 9] =  0.32233789014227551034399447076249  ;   t[ 9] =  0.32233789014227551034399447076249  ;   w[ 9] =  0.0092261969239424536825255463089543;
		r[10] =  0.32233789014227551034399447076249  ;   s[10] =  0.032986329573173468968016587712524 ;   t[10] =  0.32233789014227551034399447076249  ;   w[10] =  0.0092261969239424536825255463089543;
		r[11] =  0.32233789014227551034399447076249  ;   s[11] =  0.32233789014227551034399447076249  ;   t[11] =  0.032986329573173468968016587712524 ;   w[11] =  0.0092261969239424536825255463089543;
		r[12] =  0.063661001875017525299235527605727 ;   s[12] =  0.063661001875017525299235527605727 ;   t[12] =  0.603005664791649076                ;   w[12] =  0.0080357142857142857142857142857143;
		r[13] =  0.063661001875017525299235527605727 ;   s[13] =  0.063661001875017525299235527605727 ;   t[13] =  0.26967233145831580803409780572761  ;   w[13] =  0.0080357142857142857142857142857143;
		r[14] =  0.063661001875017525299235527605727 ;   s[14] =  0.603005664791649076                ;   t[14] =  0.063661001875017525299235527605727 ;   w[14] =  0.0080357142857142857142857142857143;
		r[15] =  0.063661001875017525299235527605727 ;   s[15] =  0.26967233145831580803409780572761  ;   t[15] =  0.063661001875017525299235527605727 ;   w[15] =  0.0080357142857142857142857142857143;
		r[16] =  0.603005664791649076                ;   s[16] =  0.063661001875017525299235527605727 ;   t[16] =  0.063661001875017525299235527605727 ;   w[16] =  0.0080357142857142857142857142857143;
		r[17] =  0.26967233145831580803409780572761  ;   s[17] =  0.063661001875017525299235527605727 ;   t[17] =  0.063661001875017525299235527605727 ;   w[17] =  0.0080357142857142857142857142857143;
		r[18] =  0.063661001875017525299235527605727 ;   s[18] =  0.603005664791649076                ;   t[18] =  0.26967233145831580803409780572761  ;   w[18] =  0.0080357142857142857142857142857143;
		r[19] =  0.063661001875017525299235527605727 ;   s[19] =  0.26967233145831580803409780572761  ;   t[19] =  0.603005664791649076                ;   w[19] =  0.0080357142857142857142857142857143;
		r[20] =  0.603005664791649076                ;   s[20] =  0.063661001875017525299235527605727 ;   t[20] =  0.26967233145831580803409780572761  ;   w[20] =  0.0080357142857142857142857142857143;
		r[21] =  0.26967233145831580803409780572761  ;   s[21] =  0.063661001875017525299235527605727 ;   t[21] =  0.603005664791649076                ;   w[21] =  0.0080357142857142857142857142857143;
		r[22] =  0.603005664791649076                ;   s[22] =  0.26967233145831580803409780572761  ;   t[22] =  0.063661001875017525299235527605727 ;   w[22] =  0.0080357142857142857142857142857143;
		r[23] =  0.26967233145831580803409780572761  ;   s[23] =  0.603005664791649076                ;   t[23] =  0.063661001875017525299235527605727 ;   w[23] =  0.0080357142857142857142857142857143;
		break;

	case 7:
	case 8:
		r.resize(45); s.resize(45); t.resize(45); w.resize(45);
		r[ 0] =  0.25                                ;   s[ 0] =  0.25                                ;   t[ 0] =  0.25                                ;   w[ 0] = -0.039327006641293289783933298815802 ;
		r[ 1] =  0.12747093656664129020047240183998  ;   s[ 1] =  0.12747093656664129020047240183998  ;   t[ 1] =  0.12747093656664129020047240183998  ;   w[ 1] =  0.0040813160593425981929164015539121;
		r[ 2] =  0.61758719030007612939858279448006  ;   s[ 2] =  0.12747093656664129020047240183998  ;   t[ 2] =  0.12747093656664129020047240183998  ;   w[ 2] =  0.0040813160593425981929164015539121;
		r[ 3] =  0.12747093656664129020047240183998  ;   s[ 3] =  0.61758719030007612939858279448006  ;   t[ 3] =  0.12747093656664129020047240183998  ;   w[ 3] =  0.0040813160593425981929164015539121;
		r[ 4] =  0.12747093656664129020047240183998  ;   s[ 4] =  0.12747093656664129020047240183998  ;   t[ 4] =  0.61758719030007612939858279448006  ;   w[ 4] =  0.0040813160593425981929164015539121;
		r[ 5] =  0.03207883039263179846268160000418  ;   s[ 5] =  0.03207883039263179846268160000418  ;   t[ 5] =  0.03207883039263179846268160000418  ;   w[ 5] =  0.00065808677330431254161114994251993;
		r[ 6] =  0.90376350882210460461195519998746  ;   s[ 6] =  0.03207883039263179846268160000418  ;   t[ 6] =  0.03207883039263179846268160000418  ;   w[ 6] =  0.00065808677330431254161114994251993;
		r[ 7] =  0.03207883039263179846268160000418  ;   s[ 7] =  0.90376350882210460461195519998746  ;   t[ 7] =  0.03207883039263179846268160000418  ;   w[ 7] =  0.00065808677330431254161114994251993;
		r[ 8] =  0.03207883039263179846268160000418  ;   s[ 8] =  0.03207883039263179846268160000418  ;   t[ 8] =  0.90376350882210460461195519998746  ;   w[ 8] =  0.00065808677330431254161114994251993;
		r[ 9] =  0.4502229043567191213633819532051   ;   s[ 9] =  0.4502229043567191213633819532051   ;   t[ 9] =  0.049777095643280878636618046794901 ;   w[ 9] =  0.0043842588251228548440866250061527;
		r[10] =  0.4502229043567191213633819532051   ;   s[10] =  0.049777095643280878636618046794901 ;   t[10] =  0.049777095643280878636618046794901 ;   w[10] =  0.0043842588251228548440866250061527;
		r[11] =  0.049777095643280878636618046794901 ;   s[11] =  0.049777095643280878636618046794901 ;   t[11] =  0.4502229043567191213633819532051   ;   w[11] =  0.0043842588251228548440866250061527;
		r[12] =  0.049777095643280878636618046794901 ;   s[12] =  0.4502229043567191213633819532051   ;   t[12] =  0.049777095643280878636618046794901 ;   w[12] =  0.0043842588251228548440866250061527;
		r[13] =  0.049777095643280878636618046794901 ;   s[13] =  0.4502229043567191213633819532051   ;   t[13] =  0.4502229043567191213633819532051   ;   w[13] =  0.0043842588251228548440866250061527;
		r[14] =  0.4502229043567191213633819532051   ;   s[14] =  0.049777095643280878636618046794901 ;   t[14] =  0.4502229043567191213633819532051   ;   w[14] =  0.0043842588251228548440866250061527;
		r[15] =  0.31626955260144926294957385410406  ;   s[15] =  0.31626955260144926294957385410406  ;   t[15] =  0.18373044739855073705042614589594  ;   w[15] =  0.013830063842509832323481817490642 ;
		r[16] =  0.31626955260144926294957385410406  ;   s[16] =  0.18373044739855073705042614589594  ;   t[16] =  0.18373044739855073705042614589594  ;   w[16] =  0.013830063842509832323481817490642 ;
		r[17] =  0.18373044739855073705042614589594  ;   s[17] =  0.18373044739855073705042614589594  ;   t[17] =  0.31626955260144926294957385410406  ;   w[17] =  0.013830063842509832323481817490642 ;
		r[18] =  0.18373044739855073705042614589594  ;   s[18] =  0.31626955260144926294957385410406  ;   t[18] =  0.18373044739855073705042614589594  ;   w[18] =  0.013830063842509832323481817490642 ;
		r[19] =  0.18373044739855073705042614589594  ;   s[19] =  0.31626955260144926294957385410406  ;   t[19] =  0.31626955260144926294957385410406  ;   w[19] =  0.013830063842509832323481817490642 ;
		r[20] =  0.31626955260144926294957385410406  ;   s[20] =  0.18373044739855073705042614589594  ;   t[20] =  0.31626955260144926294957385410406  ;   w[20] =  0.013830063842509832323481817490642 ;
		r[21] =  0.23190108939715095698765117538466  ;   s[21] =  0.23190108939715095698765117538466  ;   t[21] =  0.022917787844817476733869729819178 ;   w[21] =  0.0042404374246837512723708175080149;
		r[22] =  0.23190108939715095698765117538466  ;   s[22] =  0.23190108939715095698765117538466  ;   t[22] =  0.513280033360881072                ;   w[22] =  0.0042404374246837512723708175080149;
		r[23] =  0.23190108939715095698765117538466  ;   s[23] =  0.022917787844817476733869729819178 ;   t[23] =  0.23190108939715095698765117538466  ;   w[23] =  0.0042404374246837512723708175080149;
		r[24] =  0.23190108939715095698765117538466  ;   s[24] =  0.513280033360881072                ;   t[24] =  0.23190108939715095698765117538466  ;   w[24] =  0.0042404374246837512723708175080149;
		r[25] =  0.022917787844817476733869729819178 ;   s[25] =  0.23190108939715095698765117538466  ;   t[25] =  0.23190108939715095698765117538466  ;   w[25] =  0.0042404374246837512723708175080149;
		r[26] =  0.513280033360881072                ;   s[26] =  0.23190108939715095698765117538466  ;   t[26] =  0.23190108939715095698765117538466  ;   w[26] =  0.0042404374246837512723708175080149;
		r[27] =  0.23190108939715095698765117538466  ;   s[27] =  0.022917787844817476733869729819178 ;   t[27] =  0.513280033360881072                ;   w[27] =  0.0042404374246837512723708175080149;
		r[28] =  0.23190108939715095698765117538466  ;   s[28] =  0.513280033360881072                ;   t[28] =  0.022917787844817476733869729819178 ;   w[28] =  0.0042404374246837512723708175080149;
		r[29] =  0.022917787844817476733869729819178 ;   s[29] =  0.23190108939715095698765117538466  ;   t[29] =  0.513280033360881072                ;   w[29] =  0.0042404374246837512723708175080149;
		r[30] =  0.513280033360881072                ;   s[30] =  0.23190108939715095698765117538466  ;   t[30] =  0.022917787844817476733869729819178 ;   w[30] =  0.0042404374246837512723708175080149;
		r[31] =  0.022917787844817476733869729819178 ;   s[31] =  0.513280033360881072                ;   t[31] =  0.23190108939715095698765117538466  ;   w[31] =  0.0042404374246837512723708175080149;
		r[32] =  0.513280033360881072                ;   s[32] =  0.022917787844817476733869729819178 ;   t[32] =  0.23190108939715095698765117538466  ;   w[32] =  0.0042404374246837512723708175080149;
		r[33] =  0.037970048471829317445049933301948 ;   s[33] =  0.037970048471829317445049933301948 ;   t[33] =  0.73031342780753887166509942996566  ;   w[33] =  0.002238739739614264603219107868316 ;
		r[34] =  0.037970048471829317445049933301948 ;   s[34] =  0.037970048471829317445049933301948 ;   t[34] =  0.193746475248804382                ;   w[34] =  0.002238739739614264603219107868316 ;
		r[35] =  0.037970048471829317445049933301948 ;   s[35] =  0.73031342780753887166509942996566  ;   t[35] =  0.037970048471829317445049933301948 ;   w[35] =  0.002238739739614264603219107868316 ;
		r[36] =  0.037970048471829317445049933301948 ;   s[36] =  0.193746475248804382                ;   t[36] =  0.037970048471829317445049933301948 ;   w[36] =  0.002238739739614264603219107868316 ;
		r[37] =  0.73031342780753887166509942996566  ;   s[37] =  0.037970048471829317445049933301948 ;   t[37] =  0.037970048471829317445049933301948 ;   w[37] =  0.002238739739614264603219107868316 ;
		r[38] =  0.193746475248804382                ;   s[38] =  0.037970048471829317445049933301948 ;   t[38] =  0.037970048471829317445049933301948 ;   w[38] =  0.002238739739614264603219107868316 ;
		r[39] =  0.037970048471829317445049933301948 ;   s[39] =  0.73031342780753887166509942996566  ;   t[39] =  0.193746475248804382                ;   w[39] =  0.002238739739614264603219107868316 ;
		r[40] =  0.037970048471829317445049933301948 ;   s[40] =  0.193746475248804382                ;   t[40] =  0.73031342780753887166509942996566  ;   w[40] =  0.002238739739614264603219107868316 ;
		r[41] =  0.73031342780753887166509942996566  ;   s[41] =  0.037970048471829317445049933301948 ;   t[41] =  0.193746475248804382                ;   w[41] =  0.002238739739614264603219107868316 ;
		r[42] =  0.193746475248804382                ;   s[42] =  0.037970048471829317445049933301948 ;   t[42] =  0.73031342780753887166509942996566  ;   w[42] =  0.002238739739614264603219107868316 ;
		r[43] =  0.73031342780753887166509942996566  ;   s[43] =  0.193746475248804382                ;   t[43] =  0.037970048471829317445049933301948 ;   w[43] =  0.002238739739614264603219107868316 ;
		r[44] =  0.193746475248804382                ;   s[44] =  0.73031342780753887166509942996566  ;   t[44] =  0.037970048471829317445049933301948 ;   w[44] =  0.002238739739614264603219107868316 ;
	default: return false;
	}
	return true;
}

int Tetrahedron::maxorder()
{
	return 0;
}



